#include "Binary_Search_Tree.h"

void test_BST1()
{
    int a[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
    BSTree<int> BST;
    for(auto data:a)
    {
        BST.insert(data);
    }
    BST.InOrder();

    BST.Erase(8);
    BST.InOrder();

    BST.Erase(3);
    BST.InOrder();

    BST.Erase(1);
    BST.InOrder();

    for (auto data : a)
    {
        BST.Erase(data);
        BST.InOrder();
    }
}
void test_BST2()
{
    int a[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
    BSTree<int> BST;
    for (auto data : a)
    {
        BST.insert(data);
    }
    BST.InOrder();

    BSTree<int> BST1(BST);
    BST1.InOrder();

    BST1.Erase(8);

    BST1.Erase(3);

    BST1.Erase(1);

    BST = BST1;
    BST.InOrder();
    BST1.InOrder();
}
int main()
{
    // test_BST1();
    test_BST2();
    
    system("pause");
    return 0;
}